//this.Element.getContextMenuItems = function( elt, target, context )
//{
//    var monitored = areEventsMonitored(elt, null, context);
//
//    return [
//    {label: "CopyHTML", command: bindFixed(this.copyHTML, this, elt) },
//    {label: "CopyInnerHTML", command: bindFixed(this.copyInnerHTML, this, elt) },
//    {label: "CopyXPath", command: bindFixed(this.copyXPath, this, elt) },
//    {label: "CopyWatij", command: bindFixed(this.copyWatij, this, elt) },
//        "-",
//    {label: "ShowEventsInConsole", type: "checkbox", checked: monitored,
//        command: bindFixed(toggleMonitorEvents, FBL, elt, null, monitored, context) },
//        "-",
//    {label: "ScrollIntoView", command: bindFixed(elt.scrollIntoView, elt) }
//        ];
//};
//
//this.Element.copyWatij = function(elt)
//    {
//        var watij = getElementWatijPath(elt);
//        copyToClipboard(watij);
//    };

var FirebugReps2 = FBL.ns(function()
{
    with ( FBL )
    {


        // ************************************************************************************************
        // Constants

        const jsdIStackFrame = CI("jsdIStackFrame");
        const jsdIScript = CI("jsdIScript");

        const fbs = CCSV("@joehewitt.com/firebug;1", "nsIFireBug");

        // ************************************************************************************************
        // Common Tags

        var OBJECTBOX = this.OBJECTBOX =
                        SPAN({class: "objectBox objectBox-$className"});

        var OBJECTBLOCK = this.OBJECTBLOCK =
                          DIV({class: "objectBox objectBox-$className"});

        var OBJECTLINK = this.OBJECTLINK =
                         A({
                             class: "objectLink objectLink-$className",
                             _repObject: "$object"
                         });
        // ************************************************************************************************

        this.TestFire = domplate(Firebug.Rep,
        {
            specificness: 500,
            tag:
                OBJECTLINK("&quot; $object &quot;"),

        // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


            supportsObject: function( object )
            {
                return object.isTestFireObject;
            }
        });

       

        this.BrowserCommand = domplate(Firebug.Rep,
        {
            specificness: 1000,
            tag:
                DIV(
                    FOR("item", "$object|arrayIterator",
                        TAG("$item.tag", {object: "$item.object"}),
                        SPAN({class: "arrayComma"}, "$item.delim")
                        )
                    ),


            arrayIterator: function( cmd )
            {
                var items = [];
                var array = cmd.choices;
                var i = 0;
                for ( value in array )
                {
                    i++;
                    var rep = Firebug.getRep(value);
                    var tag = rep.shortTag ? rep.shortTag : rep.tag;
                    var delim = (i == array.length - 1 ? "" : ", ");

                    items.push({object: value, tag: tag, delim: delim});
                }

                return items;
            },

            doFormat: function( arg )
            {
                return arg;
            },

        // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


            supportsObject: function( object )
            {
                return object instanceof BrowserCommand;
            }
        });

        
        // ************************************************************************************************

        Firebug.registerRep(
            this.TestFire
        //        this.BrowserCommand
            );

    }
}
    )
    ;

// ************************************************************************************************
